package com.cb.demo

import android.content.ComponentName
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        initClickListener()
    }

    private fun initClickListener() {
        btn_rb_normal.setOnClickListener { sendNormalBR() }
    }

    /**
     * 发送普通广播
     *
     * 解决Android8广播的静态注册接收不到问题
     * 1、使用动态广播代替静态广播
     * 2、依旧使用静态广播，但是在发送广播的Intent里添加Component参数
     *      intent.setComponent("广播接收器的包名", "广播接收器的路径(也就是包名加广播接收器的类名)")
     */
    private fun sendNormalBR() {
        val intent = Intent("com.ssjywm.rb.demo.DynamicRegisterBoardCast")
        intent.putExtra("actionString", "来自ReceivingBroadcast_RB module下的广播信息")
        intent.component = ComponentName("com.rb.demo", "com.rb.demo.MyBroadcast")
        sendBroadcast(intent)
        Toast.makeText(this, "发送广播", Toast.LENGTH_LONG).show()
    }
}
